package com.chenjj.bigdata.solr.client;

import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrInputDocument;

import java.util.Collection;

public interface SolrClient {
	/**
	 * 添加Solr Document
	 * @param doc 
	 */
    void add(SolrInputDocument doc);
	
	/**
	 * 批量添加SolrInputDocument
	 * @param docs
	 */
    void add(Collection<SolrInputDocument> docs);
	/**
	 * 查询 Solr Documents <br>
     * 如果是从大量数据(比如说10亿条数据)中查询，建议通过q+fq组合查询，q来定位大批量数据，fq用来从大批量数据中定位精确数据
	 * @param q query
	 * @param fq filter query
	 * @param start 开始的行号
	 * @param rows 显示的行数
	 * @param fl
	 * @param df
     * @param sort
	 * @return
	 */
    QueryResponse query(String q, String fq, int start, int rows, String fl, String df,SolrSort sort);
	
	/**
	 * 关闭资源
	 */
    void close();

}
